package com.zmn.oms.third.tc58;

import com.zmn.oms.common.constant.OrderConsts;
import com.zmn.oms.third.base.util.ProductIdUtil;

import java.util.HashMap;
import java.util.Map;
import java.util.Optional;

/**
 * 类描述：58同城VIP产品映射器
 *
 * @author LiangHailong
 * @date 2019/09/25 19:31
 */
public final class Tc58Mapper {
    /**
     * 产品映射
     */
    private static final Map<String, Integer> MAP_PRODUCT_DEFAULT = new HashMap();  // 默认产品映射
    private static final Map<String, Map<String, ZmnProduct>> MAP_PRODUCT_114 = new HashMap();  // 58同城114&服务卡产品映射
    public static Map<String, Integer> MAP_PRODUCT_JX = new HashMap(150);   // 精选
    private static Map<String, Integer> MAP_PRODUCT_JX_PIPE = new HashMap(360);    // 精选-管道
    private static Map<String, Integer> MAP_PRODUCT_JX_UNLOCK = new HashMap(450);  // 精选-开锁

    /**
     * 获取啄木鸟产品ID
     * @param cateOneId
     * @param cateTwoId
     * @param cateThreeId
     * @return
     */
    public static int getZmnProductId(String cateOneId, String cateTwoId, String cateThreeId) {
        int zmnProductId = 0;
        do {
            Map<String, ZmnProduct> zmnProductMap = MAP_PRODUCT_114.get(cateOneId);
            if (zmnProductMap != null && zmnProductMap.get(cateThreeId) != null) {
                zmnProductId = zmnProductMap.get(cateThreeId).getZmnProductId();
                break;
            }

            if (zmnProductId == 0) {
                zmnProductId = Optional.ofNullable(MAP_PRODUCT_DEFAULT.get(cateOneId)).orElse(0);
            }
        } while (false);

        if (zmnProductId != 0) {
            zmnProductId = ProductIdUtil.getNewProductId(zmnProductId);
        }
        else {
            zmnProductId = OrderConsts.CHANNEL_DISABLED_PRODUCT_ID;
        }

        return zmnProductId;
    }

    /**
     * 获取精选渠道对应啄木鸟产品ID
     * @param cateThree
     * @return
     */
    public static Integer getZmnProductId4Jx(String cateThree) {
        /*Integer productId = MAP_PRODUCT_JX.get(cateThree);

        if (productId == null) {
            productId = MAP_PRODUCT_JX_PIPE.get(cateThree);
        }
        if (productId == null) {
            productId = MAP_PRODUCT_JX_UNLOCK.get(cateThree);
        }

        return Optional.ofNullable(productId).orElse(OrderConsts.CHANNEL_DISABLED_PRODUCT_ID);*/
        return OrderConsts.CHANNEL_DISABLED_PRODUCT_ID;
    }

    /**
     * 判断是不是精选-管道类产品
     * @param cateThree
     * @return
     */
    public static boolean isJxPipeProduct(String cateThree) {
        return MAP_PRODUCT_JX_PIPE.containsKey(cateThree);
    }

    /**
     * 判断是不是精选-开锁类产品
     * @param cateThree
     * @return
     */
    public static boolean isJxUnlockProduct(String cateThree) {
        return MAP_PRODUCT_JX_UNLOCK.containsKey(cateThree);
    }

    /* 初始化默认产品ID */
    static {
        MAP_PRODUCT_DEFAULT.put("12037", 10010); // 挂式空调清洗
        MAP_PRODUCT_DEFAULT.put("12042", 10001); // 定频挂机空调维修（1-1.5P）
        MAP_PRODUCT_DEFAULT.put("12044", 10149); // 洗菜盆疏通
        MAP_PRODUCT_DEFAULT.put("12097", 10232); // 卷闸门开锁
    }

    /* 初始化产品映射-58同城114 & 服务卡 */
    static {
        Map<String, ZmnProduct> map = null;

        // 保洁清洗
        map = new HashMap<>(20);
        map.put("3369110043634040959", new ZmnProduct(10010, "12037", "12169", "3369110043634040959"));	// 挂式空调清洗
        map.put("3369134260807467197", new ZmnProduct(10011, "12037", "12169", "3369134260807467197"));	// 柜式空调清洗
        map.put("3369134829890568202", new ZmnProduct(10012, "12037", "12169", "3369134829890568202"));	// 风管机/天井机清洗
        map.put("3369136457683370111", new ZmnProduct(10728, "12037", "12168", "3369136457683370111"));	// 冰箱清洗（≤200L）
        map.put("3369136528550199306", new ZmnProduct(10729, "12037", "12168", "3369136528550199306"));	// 冰箱清洗（201L-300L）
        map.put("3369136827050623103", new ZmnProduct(10730, "12037", "12168", "3369136827050623103"));	// 冰箱清洗（301L-400L）
        map.put("3369136915097321661", new ZmnProduct(10731, "12037", "12168", "3369136915097321661"));	// 冰箱清洗（401L-500L）
        map.put("3369140817074782272", new ZmnProduct(10732, "12037", "12168", "3369140817074782272"));	// 冰箱清洗（501L-650L）
        map.put("3369140875056906304", new ZmnProduct(10733, "12037", "12168", "3369140875056906304"));	// 冰箱清洗（（>650L）
        map.put("3369140924449489023", new ZmnProduct(10760, "12037", "12167", "3369140924449489023"));	// 滚筒洗衣机清洗
        map.put("3369141016791089162", new ZmnProduct(10036, "12037", "12167", "3369141016791089162"));	// 波轮全自动洗衣机清洗（不拆机）
        map.put("3369141066183016512", new ZmnProduct(10711, "12037", "12167", "3369141066183016512"));	// 波轮全自动洗衣机清洗（拆机）
        map.put("3369144399077900298", new ZmnProduct(10076, "12037", "12166", "3369144399077900298"));	// 油烟机清洗（不拆机）
        map.put("3369144480682082368", new ZmnProduct(10285, "12037", "12166", "3369144480682082368"));	// 油烟机清洗（拆机洗）
        map.put("3369144530074271808", new ZmnProduct(10071, "12037", "12166", "3369144530074271808"));	// 燃气灶清洗
        map.put("3377111078080151616", new ZmnProduct(10061, "12037", "12166", "3377111078080151616"));	// 燃气热水器清洗
        map.put("3377108417347911807", new ZmnProduct(10062, "12037", "12166", "3377108417347911807"));	// 电热水器清洗
        MAP_PRODUCT_114.put("12037", map);

        // 家电维修
        map = new HashMap<>(80);
        map.put("3369158636895469757", new ZmnProduct(10001, "12042", "12190", "3369158636895469757"));	// 定频挂机空调维修（1-1.5P）
        map.put("3369159087867166909", new ZmnProduct(10003, "12042", "12190", "3369159087867166909"));	// 定频挂机空调维修（2-3P）
        map.put("3369159158733799488", new ZmnProduct(10004, "12042", "12190", "3369159158733799488"));	// 变频挂机空调维修（1-1.5P）
        map.put("3369159405694812349", new ZmnProduct(10005, "12042", "12190", "3369159405694812349"));	// 变频挂机空调维修（2-3P）
        map.put("3369159562460856384", new ZmnProduct(10006, "12042", "12190", "3369159562460856384"));	// 定频柜机空调维修（2-3P）
        map.put("3369159723522261056", new ZmnProduct(10476, "12042", "12190", "3369159723522261056"));	// 定频柜机空调维修（4P)
        map.put("3369159807274319999", new ZmnProduct(10477, "12042", "12190", "3369159807274319999"));	// 定频柜机空调维修（5P)
        map.put("3369159961893142717", new ZmnProduct(10007, "12042", "12190", "3369159961893142717"));	// 变频柜机空调维修（2-3P）
        map.put("3369160030612684927", new ZmnProduct(10478, "12042", "12190", "3369160030612684927"));	// 变频柜机空调维修（4P)
        map.put("3369160189526278208", new ZmnProduct(10479, "12042", "12190", "3369160189526278208"));	// 变频柜机空调维修（5P)
        map.put("3369160245360918592", new ZmnProduct(10761, "12042", "12190", "3369160245360918592"));	// 风管机空调维修（1-1.5P）
        map.put("3369160329112846400", new ZmnProduct(10008, "12042", "12190", "3369160329112846400"));	// 风管机空调维修（2-3P）
        map.put("3369160436487094461", new ZmnProduct(10702, "12042", "12190", "3369160436487094461"));	// 挂机空调拆卸、安装（1-1.5P）
        map.put("3369160515944054911", new ZmnProduct(10016, "12042", "12190", "3369160515944054911"));	// 挂机空调拆卸、安装（2-3P）
        map.put("3369160657677516810", new ZmnProduct(10018, "12042", "12190", "3369160657677516810"));	// 柜机空调拆卸、安装（2-3p）
        map.put("3369160732839903421", new ZmnProduct(10019, "12042", "12190", "3369160732839903421"));	// 柜机空调拆卸、安装（4-5p）
        map.put("3369160870278463498", new ZmnProduct(10761, "12042", "12190", "3369160870278463498"));	// 天井机空调维修(1-1.5P)
        map.put("3369160943293366461", new ZmnProduct(10008, "12042", "12190", "3369160943293366461"));	// 天井机空调维修（2-3P）
        map.put("3369161027045294269", new ZmnProduct(10001, "12042", "12190", "3369161027045294269"));	// 家电维修机动服务
        map.put("3369145442754953405", new ZmnProduct(10021, "12042", "12185", "3369145442754953405"));	// 冰箱维修（≤200L）
        map.put("3369145537244430463", new ZmnProduct(10022, "12042", "12185", "3369145537244430463"));	// 冰箱维修（201L-300L）
        map.put("3369145642470998205", new ZmnProduct(10023, "12042", "12185", "3369145642470998205"));	// 冰箱维修（301L-400L）
        map.put("3369145756287828095", new ZmnProduct(10024, "12042", "12185", "3369145756287828095"));	// 冰箱维修（401L-500L）
        map.put("3369145835744788607", new ZmnProduct(10025, "12042", "12185", "3369145835744788607"));	// 冰箱维修（501L-650L）
        map.put("3369145917348970685", new ZmnProduct(10713, "12042", "12185", "3369145917348970685"));	// 冰箱维修（>650L）
        map.put("3369146029018382463", new ZmnProduct(10547, "12042", "12193", "3369146029018382463"));	// 波轮全自动洗衣机维修（5kg及以下）
        map.put("3369146089147728061", new ZmnProduct(10548, "12042", "12193", "3369146089147728061"));	// 波轮全自动洗衣机维修（5.1kg-10kg）
        map.put("3369146157867073546", new ZmnProduct(10549, "12042", "12193", "3369146157867073546"));	// 波轮全自动洗衣机维修（10kg以上）
        map.put("3369146222291451968", new ZmnProduct(10541, "12042", "12193", "3369146222291451968"));	// 滚筒洗衣机维修（5kg及以下）
        map.put("3369146295306223805", new ZmnProduct(10542, "12042", "12193", "3369146295306223805"));	// 滚筒洗衣机维修（5.1kg-10kg）
        map.put("3369146402680143936", new ZmnProduct(10543, "12042", "12193", "3369146402680143936"));	// 滚筒洗衣机维修（10kg以上）
        map.put("3369146499317235901", new ZmnProduct(10032, "12042", "12193", "3369146499317235901"));	// 波轮半自动洗衣机维修
        map.put("3369146568036843709", new ZmnProduct(10551, "12042", "12193", "3369146568036843709"));	// 烘干一体洗衣机维修（5kg及以下）
        map.put("3369146647493345344", new ZmnProduct(10552, "12042", "12193", "3369146647493345344"));	// 烘干一体洗衣机维修（5.1kg-10kg）
        map.put("3369168916900675773", new ZmnProduct(10553, "12042", "12193", "3369168916900675773"));	// 烘干一体洗衣机维修（10kg以上）
        map.put("3369146774195011594", new ZmnProduct(10554, "12042", "12193", "3369146774195011594"));	// 壁挂式洗衣机维修
        map.put("3369146834324815999", new ZmnProduct(10550, "12042", "12193", "3369146834324815999"));	// 迷你洗衣机维修
        map.put("3369166769416503423", new ZmnProduct(10044, "12042", "12191", "3369166769416503423"));	// 家用电视机维修（≤32吋）
        map.put("3369167261190062090", new ZmnProduct(10045, "12042", "12191", "3369167261190062090"));	// 家用电视机维修（33-41吋）
        map.put("3369167323467612349", new ZmnProduct(10046, "12042", "12191", "3369167323467612349"));	// 家用电视机维修（42-54吋）
        map.put("3369167385744703677", new ZmnProduct(10047, "12042", "12191", "3369167385744703677"));	// 家用电视机维修（55-65吋）
        map.put("3369167454463721482", new ZmnProduct(10576, "12042", "12191", "3369167454463721482"));	// 家用电视机维修（66-85吋）
        map.put("3369167525331206333", new ZmnProduct(10577, "12042", "12191", "3369167525331206333"));	// 家用电视机维修（＞86吋）
        map.put("3369151320418484351", new ZmnProduct(10598, "12042", "12194", "3369151320418484351"));	// 电热水器维修（<60L）
        map.put("3369151444972077120", new ZmnProduct(10599, "12042", "12194", "3369151444972077120"));	// 电热水器维修（60-100L）
        map.put("3369152132167368831", new ZmnProduct(10600, "12042", "12194", "3369152132167368831"));	// 电热水器维修（101-200L）
        map.put("3369152198738903104", new ZmnProduct(10601, "12042", "12194", "3369152198738903104"));	// 电热水器维修（201-300L）
        map.put("3369152250278576192", new ZmnProduct(10602, "12042", "12194", "3369152250278576192"));	// 电热水器维修（301-500L）
        map.put("3369152295375863997", new ZmnProduct(10714, "12042", "12194", "3369152295375863997"));	// 电热水器维修（>500L）
        map.put("3369152342620831871", new ZmnProduct(10752, "12042", "12194", "3369152342620831871"));	// 燃气热水器维修（≤8L）
        map.put("3369152454289522698", new ZmnProduct(10603, "12042", "12194", "3369152454289522698"));	// 燃气热水器维修（8.1-12L）
        map.put("3369152546631385098", new ZmnProduct(10604, "12042", "12194", "3369152546631385098"));	// 燃气热水器维修（12.1-16L）
        map.put("3369152604613574845", new ZmnProduct(10715, "12042", "12194", "3369152604613574845"));	// 燃气热水器维修（16.1-20L）
        map.put("3369152688365502653", new ZmnProduct(10716, "12042", "12194", "3369152688365502653"));	// 燃气热水器维修（>20L）
        map.put("3369152810771873856", new ZmnProduct(10753, "12042", "12194", "3369152810771873856"));	// 太阳能热水器维修（≤60L）
        map.put("3369152933178704061", new ZmnProduct(10717, "12042", "12194", "3369152933178704061"));	// 太阳能热水器维修（61-100L）
        map.put("3369153072765337727", new ZmnProduct(10718, "12042", "12194", "3369153072765337727"));	// 太阳能热水器维修（101-200L）
        map.put("3369153128599519296", new ZmnProduct(10719, "12042", "12194", "3369153128599519296"));	// 太阳能热水器维修（201-300L）
        map.put("3369153186582036607", new ZmnProduct(10720, "12042", "12194", "3369153186582036607"));	// 太阳能热水器维修（>300L）
        map.put("3369153244563701824", new ZmnProduct(10058, "12042", "12194", "3369153244563701824"));	// 空气能热水器维修（1-1.5P）
        map.put("3369153330463244477", new ZmnProduct(10059, "12042", "12194", "3369153330463244477"));	// 空气能热水器维修（2-3P）
        map.put("3369153382003114111", new ZmnProduct(10755, "12042", "12194", "3369153382003114111"));	// 即热式热水器维修（≤4000瓦）
        map.put("3369153435690008765", new ZmnProduct(10724, "12042", "12194", "3369153435690008765"));	// 即热式热水器维修（4001-6000瓦）
        map.put("3369153482934452288", new ZmnProduct(10725, "12042", "12194", "3369153482934452288"));	// 即热式热水器维修（6001-8000瓦）
        map.put("3369167602640420928", new ZmnProduct(10754, "12042", "12187", "3369167602640420928"));	// 壁挂炉维修（≤16L）
        map.put("3369167654179766282", new ZmnProduct(10721, "12042", "12187", "3369167654179766282"));	// 壁挂炉维修（16.1-20L）
        map.put("3369167718604669055", new ZmnProduct(10722, "12042", "12187", "3369167718604669055"));	// 壁挂炉维修（20.1-30L）
        map.put("3369167776586661952", new ZmnProduct(10723, "12042", "12187", "3369167776586661952"));	// 壁挂炉维修（>30L）
        map.put("3369166730761928893", new ZmnProduct(10068, "12042", "12189", "3369166730761928893"));	// 普通燃气灶维修
        map.put("3369166812366307455", new ZmnProduct(10069, "12042", "12189", "3369166812366307455"));	// 集成灶维修
        map.put("3369166909002809408", new ZmnProduct(10070, "12042", "12189", "3369166909002809408"));	// 其他燃气灶维修
        map.put("3369166975575130239", new ZmnProduct(10073, "12042", "12192", "3369166975575130239"));	// 普通油烟机维修
        map.put("3369167048589312064", new ZmnProduct(10622, "12042", "12192", "3369167048589312064"));	// 中式油烟机维修（排风量14(m3/min)及以下）
        map.put("3369167102276468800", new ZmnProduct(10623, "12042", "12192", "3369167102276468800"));	// 中式油烟机维修（排风量14(m3/min)以上）
        map.put("3369167241863233663", new ZmnProduct(10624, "12042", "12192", "3369167241863233663"));	// 欧式油烟机维修（排风量14(m3/min)及以下）
        map.put("3369167291254898698", new ZmnProduct(10625, "12042", "12192", "3369167291254898698"));	// 欧式油烟机维修（排风量14(m3/min)以上）
        map.put("3369167349237219392", new ZmnProduct(10074, "12042", "12192", "3369167349237219392"));	// 集成灶油烟机维修
        map.put("3369167420104245312", new ZmnProduct(10073, "12042", "12192", "3369167420104245312"));	// 其他油烟机维修
        MAP_PRODUCT_114.put("12042", map);

        // 管道疏通
        map = new HashMap<>(10);
        map.put("3369166775859019903", new ZmnProduct(10149, "12044", "12045", "3369166775859019903"));	// 洗菜盆疏通
        map.put("3369166941214801930", new ZmnProduct(10152, "12044", "12045", "3369166941214801930"));	// 洗手盆疏通
        map.put("3369167009934344202", new ZmnProduct(10151, "12044", "12045", "3369167009934344202"));	// 地漏疏通
        map.put("3369167063621959869", new ZmnProduct(10154, "12044", "12045", "3369167063621959869"));	// 浴缸疏通
        map.put("3369167136636469437", new ZmnProduct(10150, "12044", "12045", "3369167136636469437"));	// 蹲便疏通
        map.put("3369167211798397055", new ZmnProduct(10153, "12044", "12045", "3369167211798397055"));	// 马桶疏通
        map.put("3369167259042512906", new ZmnProduct(10155, "12044", "12045", "3369167259042512906"));	// 管道工程业务
        map.put("3369167310582448192", new ZmnProduct(10156, "12044", "12045", "3369167310582448192"));	// 化粪池清掏
        MAP_PRODUCT_114.put("12044", map);

        // 开锁换锁
        map = new HashMap<>(30);
        map.put("3369129903562883261", new ZmnProduct(10232, "12097", "12195", "3369129903562883261"));	// 卷闸门开锁
        map.put("3369130225685430399", new ZmnProduct(10234, "12097", "12195", "3369130225685430399"));	// 玻璃门开锁
        map.put("3369130399631474752", new ZmnProduct(10237, "12097", "12195", "3369130399631474752"));	// 柜门开锁
        map.put("3369130584315265151", new ZmnProduct(10233, "12097", "12195", "3369130584315265151"));	// 室内门开锁
        map.put("3369130650887127050", new ZmnProduct(10235, "12097", "12195", "3369130650887127050"));	// 文件柜开锁
        map.put("3369130796916211839", new ZmnProduct(10239, "12097", "12196", "3369130796916211839"));	// 普通防盗门开锁（反锁）
        map.put("3369130876372910144", new ZmnProduct(10238, "12097", "12196", "3369130876372910144"));	// 普通防盗门开锁（未反锁）
        map.put("3369131018107093119", new ZmnProduct(10242, "12097", "12199", "3369131018107093119"));	// 货车开锁
        map.put("3369131084678955197", new ZmnProduct(10243, "12097", "12199", "3369131084678955197"));	// 卡车开锁
        map.put("3369131164135915709", new ZmnProduct(10241, "12097", "12199", "3369131164135915709"));	// 面包车开锁
        map.put("3369131331639771263", new ZmnProduct(10240, "12097", "12199", "3369131331639771263"));	// 摩托车开锁
        map.put("3369131426128789514", new ZmnProduct(10244, "12097", "12199", "3369131426128789514"));	// 轿车开锁（8万以下车型）
        map.put("3369131518470914175", new ZmnProduct(10245, "12097", "12199", "3369131518470914175"));	// 轿车开锁（8-15万车型）
        map.put("3369131617254899722", new ZmnProduct(10246, "12097", "12199", "3369131617254899722"));	// 轿车开锁（15-25万车型）
        map.put("3369131726776631306", new ZmnProduct(10247, "12097", "12199", "3369131726776631306"));	// 轿车开锁（25-40万车型）
        map.put("3369131877100552381", new ZmnProduct(10248, "12097", "12199", "3369131877100552381"));	// 轿车开锁（40万以上车型）
        map.put("3369158782923964426", new ZmnProduct(10229, "12097", "12201", "3369158782923964426"));	// 更换锁体（霸王锁体）
        map.put("3369158995525304509", new ZmnProduct(10228, "12097", "12201", "3369158995525304509"));	// 更换锁体（加厚锁体）
        map.put("3369159079276773386", new ZmnProduct(10227, "12097", "12201", "3369159079276773386"));	// 更换锁体（普通五舌锁体）
        map.put("3369159429316804672", new ZmnProduct(10222, "12097", "12197", "3369159429316804672"));	// 更换锁芯（A级）
        map.put("3369159491594158207", new ZmnProduct(10223, "12097", "12197", "3369159491594158207"));	// 更换锁芯（B级）
        map.put("3369159577493307456", new ZmnProduct(10224, "12097", "12197", "3369159577493307456"));	// 更换锁芯（超B级）
        map.put("3369159624737685514", new ZmnProduct(10225, "12097", "12197", "3369159624737685514"));	// 更换锁芯（C级）
        map.put("3369159674129874954", new ZmnProduct(10226, "12097", "12197", "3369159674129874954"));	// 更换锁芯（超C级）
        map.put("3369159755734319114", new ZmnProduct(10254, "12097", "12198", "3369159755734319114"));	// 智能锁安装
        MAP_PRODUCT_114.put("12097", map);

        // 上门安装
        map = new HashMap<>(20);
        map.put("3375787321914884285", new ZmnProduct(10702, "13021", "13022", "3375787321914884285"));	// 挂机空调拆卸、安装（1-1.5P）
        map.put("3375787416404164735", new ZmnProduct(10049, "13021", "13022", "3375787416404164735"));	// 电视挂装(≤32吋)
        map.put("3375787521630863370", new ZmnProduct(10050, "13021", "13022", "3375787521630863370"));	// 电视挂装（33-41吋）
        map.put("3375787571022987328", new ZmnProduct(10568, "13021", "13022", "3375787571022987328"));	// 电视挂装(42-54吋)
        map.put("3375787654774915261", new ZmnProduct(10051, "13021", "13022", "3375787654774915261"));	// 电视挂装(55-65吋)
        map.put("3375787712756973632", new ZmnProduct(10052, "13021", "13022", "3375787712756973632"));	// 电视挂装（66-85吋）
        map.put("3375787781476516029", new ZmnProduct(10039, "13021", "13022", "3375787781476516029"));	// 波轮洗衣机安装
        map.put("3375787854491025597", new ZmnProduct(10040, "13021", "13022", "3375787854491025597"));	// 滚筒洗衣机安装
        map.put("3375787946832691327", new ZmnProduct(10042, "13021", "13022", "3375787946832691327"));	// 烘干一体洗衣机安装
        map.put("3375788011257200650", new ZmnProduct(10041, "13021", "13022", "3375788011257200650"));	// 迷你洗衣机安装
        map.put("3375788082124226687", new ZmnProduct(10043, "13021", "13022", "3375788082124226687"));	// 壁挂式洗衣机安装
        map.put("3375788159433637898", new ZmnProduct(10584, "13021", "13022", "3375788159433637898"));	// 电热水器安装(<60L)
        map.put("3375788208825827455", new ZmnProduct(10063, "13021", "13022", "3375788208825827455"));	// 电热水器安装（60-100L）
        map.put("3375788333379944575", new ZmnProduct(10595, "13021", "13022", "3375788333379944575"));	// 即热式热水器安装
        map.put("3375788455786512573", new ZmnProduct(10288, "13021", "13022", "3375788455786512573"));	// 燃气灶拆卸、安装
        map.put("3375788543833210944", new ZmnProduct(10078, "13021", "13022", "3375788543833210944"));	// 油烟机拆卸、安装
        MAP_PRODUCT_114.put("13021", map);
    }

    /* 初始化产品-精选 & 精选-管道 & 精选-开锁 */
    static {
        Map<String, Integer> jxProductMap = null;
        // 添加精选产品映射
        jxProductMap = MAP_PRODUCT_JX;
        jxProductMap.put("3412547779501097182", 11271); // 玻璃清洗
        jxProductMap.put("3412547783794294950", 10076); // 油烟机清洗（不拆机）
        jxProductMap.put("3412547788089327782", 10076); // 油烟机清洗（不拆机）
        jxProductMap.put("3412547792384360614", 10076); // 油烟机清洗（不拆机）
        jxProductMap.put("3412548084445544670", 10036); // 波轮洗衣机清洗（不拆机）
        jxProductMap.put("3412547794533548254", 10760); // 滚筒洗衣机清洗
        jxProductMap.put("3412547798826877094", 11149); // 冰箱清洗
        jxProductMap.put("3412547803121909926", 10730); // 冰箱清洗（301L-400L）
        jxProductMap.put("3412547805269459110", 10733); // 冰箱清洗（＞650L）
        jxProductMap.put("3412547809565999326", 10010); // 挂机空调清洗
        jxProductMap.put("3412547813861032158", 10011); // 方形柜机空调清洗
        jxProductMap.put("3412547846071845030", 10021); // 冰箱维修（≤200L）
        jxProductMap.put("3412547850368712926", 10154); // 浴缸疏通
        jxProductMap.put("3412547852516262110", 10153); // 马桶疏通
        jxProductMap.put("3412547856811294942", 10152); // 洗手盆疏通
        jxProductMap.put("3412547863253811422", 10151); // 地漏疏通
        jxProductMap.put("3412547867548844254", 10149); // 洗菜盆疏通
        jxProductMap.put("3412547869694230694", 10176); // 龙头花洒安装、维修
        jxProductMap.put("3412547878284230822", 10176); // 龙头花洒安装、维修
        jxProductMap.put("3412547886874230950", 10176); // 龙头花洒安装、维修
        jxProductMap.put("3412547893318713566", 10183); // 壁挂式马桶安装
        jxProductMap.put("3412547901908713694", 10191); // 智能马桶安装
        jxProductMap.put("3412547908349132966", 10184); // 普通马桶拆卸、安装、维修
        jxProductMap.put("3412547916939133094", 10184); // 普通马桶拆卸、安装、维修
        jxProductMap.put("3412547923381649574", 10184); // 普通马桶拆卸、安装、维修
        jxProductMap.put("3412547931971649702", 10184); // 普通马桶拆卸、安装、维修
        jxProductMap.put("3412547938414166182", 10184); // 普通马桶拆卸、安装、维修
        jxProductMap.put("3412547947005935838", 10189); // 浴室柜拆卸、安装、维修
        jxProductMap.put("3412547953448452318", 10193); // 智能马桶盖安装
        jxProductMap.put("3412547962036551846", 10195); // 浴缸安装
        jxProductMap.put("3412547968479068326", 10188); // 蹲便器拆卸、安装、维修
        jxProductMap.put("3412547977070837982", 11280); // 墙面整体粉刷
        jxProductMap.put("3412547983511519398", 10256); // 门窗安装维修
        jxProductMap.put("3412547992103289054", 10159); // 普通家用灯具安装、维修
        jxProductMap.put("3412547998545805534", 10158); // 220V电路维修
        jxProductMap.put("3412548007135805662", 10313); // 卫生间防水补漏
        jxProductMap.put("3412548013576356006", 10195); // 浴缸安装
        jxProductMap.put("3412548022166356134", 10317); // 屋顶防水补漏
        jxProductMap.put("3412548028608872614", 10195); // 浴缸安装
        jxProductMap.put("3412548037198872742", 10189); // 浴室柜拆卸、安装、维修
        jxProductMap.put("3412548043641389222", 10024); // 冰箱维修（401L-500L）
        jxProductMap.put("3412548047936422054", 10025); // 冰箱维修（501L-650L）
        jxProductMap.put("3412548052233027806", 10721); // 壁挂炉维修
        jxProductMap.put("3412548054378938534", 10094); // 洗碗机维修
        jxProductMap.put("3412548058675544286", 10004); // 变频挂机空调维修（1.5P）
        jxProductMap.put("3412548062970577118", 10001); // 定频挂机空调维修（1-1.5P
        jxProductMap.put("3412548065118126302", 10007); // 变频柜机空调维修（2-3P）
        jxProductMap.put("3412548178934890718", 10006); // 定频柜机空调维修（2-3P）
        jxProductMap.put("3412548185375506598", 10045); // 家用电视机维修（33-41吋）
        jxProductMap.put("3412548191818023078", 10046); // 家用电视机维修（42-54吋）
        jxProductMap.put("3412548200408023206", 10047); // 家用电视机维修（55-65吋）
        jxProductMap.put("3412548206850539686", 10576); // 家用电视机维修（66-85吋）
        jxProductMap.put("3412548215442178270", 10073); // 普通油烟机维修
        jxProductMap.put("3412548221882990758", 10541); // 滚筒洗衣机维修（5kg及以下）
        jxProductMap.put("3412548230472990886", 10032); // 波轮半自动洗衣机维修
        jxProductMap.put("3412548236915507366", 10547); // 波轮全自动洗衣机维修（5kg及以下）
        jxProductMap.put("3412548245507014878", 10717); // 太阳能热水器维修（61-100L）
        jxProductMap.put("3412548273422794918", 10068); // 普通燃气灶维修
        jxProductMap.put("3412556474663436454", 10233); // 室内门开锁
        jxProductMap.put("3412556476812361950", 10233); // 室内门开锁
        jxProductMap.put("3412556481105952934", 10222); // 更换锁芯（A级）
        jxProductMap.put("3412556485402362078", 10226); // 更换锁芯（超C级）
        jxProductMap.put("3412556489697394910", 10250); // 保险柜开锁（电子）
        jxProductMap.put("3412556493992427742", 10223); // 更换锁芯（B级）
        jxProductMap.put("3412556496138404006", 10227); // 更换锁体（普通五舌锁体）
        jxProductMap.put("3412556500433436838", 10230); // 更换把手（普通把手）
        jxProductMap.put("3412556504729911518", 10244); // 轿车开锁（8万以下车型）
        jxProductMap.put("3412556509023436966", 11221); // 地锁安装
        jxProductMap.put("3412556513318469798", 10225); // 更换锁芯（C级）
        jxProductMap.put("3412557627863924958", 10016); // 挂机空调拆卸、安装（2-3P）
        jxProductMap.put("3412557632158957790", 10018); // 柜机空调拆卸、安装（2-3p）
        jxProductMap.put("3412557636453990622", 10019); // 柜机空调拆卸、安装（4-5p）
        jxProductMap.put("3412557640747450534", 10570); // 商用电视机安装(≤32吋)
        jxProductMap.put("3412557645043990750", 10573); // 商用电视机安装(55-65吋)
        jxProductMap.put("3412557647191539934", 10571); // 商用电视机安装(33-41吋)
        jxProductMap.put("3412557651486572766", 10574); // 商用电视机安装(66-85吋)
        jxProductMap.put("3412557655779901606", 10063); // 电热水器安装（60-100L）
        jxProductMap.put("3412557660076572894", 10039); // 波轮洗衣机安装
        jxProductMap.put("3412557664369901734", 10078); // 油烟机拆卸、安装
        jxProductMap.put("3412557668666573022", 10288); // 燃气灶拆卸、安装
        jxProductMap.put("3412557672959901862", 11215); // 晒衣架/烫衣板安装
        jxProductMap.put("3412557677256573150", 10116); // 净水器安装
        jxProductMap.put("3412557679402418342", 11203); // 床头柜安装
        jxProductMap.put("3412557683699089630", 11217); // 床安装
        jxProductMap.put("3412557687992418470", 10197); // 浴室镜安装（＜1米）
        jxProductMap.put("3412557692289089758", 10257); // 沙发翻新维修
        jxProductMap.put("3412557696582418598", 10258); // 边桌/茶几安装
        jxProductMap.put("3412557700879089886", 10253); // 防盗门整套锁具安装
        jxProductMap.put("3412557705172418726", 10438); // 纱窗安装、维修
        jxProductMap.put("3412557707321606366", 10213); // 相框/装饰画安装
        jxProductMap.put("3412557711614935206", 11220); // 鱼缸安装
        jxProductMap.put("3412557715911606494", 10213); // 相框/装饰画安装
        jxProductMap.put("3412557720206639326", 10702); // 挂机空调拆卸、安装（1-1.5P）
        jxProductMap.put("3412557722352418982", 10311); // 地暖维修
        jxProductMap.put("3412557726647451814", 10208); // 手动升降晾衣杆安装
        jxProductMap.put("3412557730942484646", 10207); // 普通晾衣杆安装
        jxProductMap.put("3412557735239090398", 10210); // 窗帘罗马杆安装（≤3米）
        jxProductMap.put("3412557737386639582", 10210); // 窗帘罗马杆安装（≤3米）
        jxProductMap.put("3412557741679968422", 10202); // 换气扇拆卸、安装
        jxProductMap.put("3412557745976639710", 10310); // 其他
        jxProductMap.put("3412557750271672542", 10310); // 其他
        jxProductMap.put("3412557752419221726", 10310); // 其他
        jxProductMap.put("3412557756712419494", 11183); // 浴霸安装、拆卸
        jxProductMap.put("3412557761009221854", 10204); // 其他卫浴安装
        jxProductMap.put("3412557765302419622", 10182); // 简易淋浴房安装（带底座）
        jxProductMap.put("3412557769599221982", 10151); // 地漏疏通
        jxProductMap.put("3412557773892419750", 10186); // 洗手盆拆卸、安装、维修
        jxProductMap.put("3412557776041738462", 11175); //  厨卫挂件安装
        jxProductMap.put("3412557780334936230", 11202); // 餐边柜安装
        jxProductMap.put("3412557784631738590", 10187); // 洗菜盆拆卸、安装、维修
        jxProductMap.put("3412557788926771422", 10206); // 普通五金挂件安装(2个起装)
        jxProductMap.put("3412562079597461670", 10141); // 电脑维修
        jxProductMap.put("3412562083894460638", 10141); // 电脑维修
        jxProductMap.put("3412562086039978150", 10141); // 电脑维修
        jxProductMap.put("3412562090336977118", 10141); // 电脑维修
        jxProductMap.put("3412565751798366430", 11271); // 玻璃清洗
        jxProductMap.put("3412565756093399262", 11271); // 玻璃清洗
        jxProductMap.put("3412566003054084318", 11271); // 玻璃清洗
        jxProductMap.put("3412566112575815902", 11271); // 玻璃清洗
        jxProductMap.put("3414805886470848734", 10003); // 定频挂机空调维修（2-3P）
        jxProductMap.put("3414805886470848757", 10006); // 定频柜机空调维修（2-3P）
        jxProductMap.put("3414805886470914270", 10476); // 定频柜机空调维修（4P)
        jxProductMap.put("3417392023718658113", 10710); // 风管机、天井机拆卸、安装（5P)
        jxProductMap.put("3417392023718658155", 10016); // 挂机空调拆卸、安装（2-3P）
        jxProductMap.put("3417392023718658214", 10019); // 柜机空调拆卸、安装（4-5p）
        jxProductMap.put("3417392023718658299", 10709); // 风管机、天井机拆卸、安装（2-3P）
        jxProductMap.put("3418679356413837563", 10709); // 风管机、天井机拆卸、安装（2-3P）
        jxProductMap.put("3418679356413968467", 10016); // 挂机空调拆卸、安装（2-3P）
        jxProductMap.put("3418679356413968602", 10019); // 柜机空调拆卸、安装（4-5p）
        jxProductMap.put("3418679356414034089", 10710); // 风管机、天井机拆卸、安装（5P)
        jxProductMap.put("3431684515238576161", 11801); // 空调加氟
        jxProductMap.put("3431684515238641697", 11801); // 空调加氟
        jxProductMap.put("3431684515238707233", 11801); // 空调加氟
        jxProductMap.put("3431684515238707258", 11801); // 空调加氟
        jxProductMap.put("3431684515238641792", 11801); // 空调加氟
        jxProductMap.put("3431684515238707338", 11801); // 空调加氟
        jxProductMap.put("3431684515238576297", 11801); // 空调加氟
        jxProductMap.put("3431684510943608960", 11801); // 空调加氟
        jxProductMap.put("3412549078729293990", 11733); // 蟑螂防治
        jxProductMap.put("3412549059401875622", 11733); // 蟑螂防治
        jxProductMap.put("3432962807027531787", 11742); // 其它打孔
        jxProductMap.put("3432962757635408072", 10308); // 电脑 维修
        jxProductMap.put("3432962723275735147", 11420); // 地板维修
        jxProductMap.put("3444095020808863750", 10970); // 地暖清洗
        jxProductMap.put("3444095020808929286", 10970); // 地暖清洗
        jxProductMap.put("3444095020808863910", 10970); // 地暖清洗
        jxProductMap.put("3444095018661380309", 10970); // 地暖清洗
        jxProductMap.put("3444095018661380347", 10970); // 地暖清洗
        jxProductMap.put("3445420829968498906", 10600); // 电热水器维修（101-200L）
        jxProductMap.put("3445420829968564442", 10604); // 燃气热水器维修（12.1-16L）

        // 添加管道疏通产品映射
        jxProductMap = MAP_PRODUCT_JX_PIPE;
        jxProductMap.put("3412566533479268518", 10153); // 马桶疏通
        jxProductMap.put("3467439239656964265", 10153); // 马桶疏通
        jxProductMap.put("3474525338695172294", 12991); // 精选洗菜盆疏通一口价
        jxProductMap.put("3474525338695106758", 12991); // 精选洗菜盆疏通一口价
        jxProductMap.put("3474525295745368262", 12992); // 精选浴缸疏通一口价
        jxProductMap.put("3474525295745237231", 12992); // 精选浴缸疏通一口价
        jxProductMap.put("3474525244205629452", 12993); // 精选洗手盆疏通一口价
        jxProductMap.put("3474525244205695206", 12993); // 精选洗手盆疏通一口价
        jxProductMap.put("3474525184076087494", 12994); // 精选马桶疏通一口价
        jxProductMap.put("3474525184076153030", 12994); // 精选马桶疏通一口价
        jxProductMap.put("3474525111061643494", 12995); // 精选地漏疏通一口价
        jxProductMap.put("3474525111061643512", 12995); // 精选地漏疏通一口价
        jxProductMap.put("3412566533675811038", 12991);
        jxProductMap.put("3412566537941549222", 12991);
        jxProductMap.put("3412566542236582054", 12991);
        jxProductMap.put("3412566544384131238", 12991);
        jxProductMap.put("3412566548679164070", 12991);
        jxProductMap.put("3412566552974196902", 12991);
        jxProductMap.put("3412566557269229734", 12991);
        jxProductMap.put("3412566561564262566", 12991);
        jxProductMap.put("3412566565859295398", 12991);
        jxProductMap.put("3412566570154328230", 12991);
        jxProductMap.put("3412566572301877414", 12991);
        jxProductMap.put("3412566576596910246", 12991);
        jxProductMap.put("3412566580891943078", 12991);
        jxProductMap.put("3412566585186975910", 12991);
        jxProductMap.put("3412566589482008742", 12991);
        jxProductMap.put("3412566591629557926", 12991);
        jxProductMap.put("3412566595924590758", 12991);
        jxProductMap.put("3412566600219623590", 12991);
        jxProductMap.put("3412566604514656422", 12991);
        jxProductMap.put("3412566608809689254", 12991);
        jxProductMap.put("3412566613104722086", 12991);
        jxProductMap.put("3412566615252271270", 12991);
        jxProductMap.put("3412566619547304102", 12991);
        jxProductMap.put("3412566623842336934", 12991);
        jxProductMap.put("3412566628137369766", 12991);
        jxProductMap.put("3412566767726166182", 12991);
        jxProductMap.put("3448201518501921019", 12991);
        jxProductMap.put("3448201518503100422", 12991);
        jxProductMap.put("3467439239656964136", 12992);
        jxProductMap.put("3467439239656964161", 12992);
        jxProductMap.put("3467439239656964237", 12992);
        jxProductMap.put("3467439239656964341", 12992);
        jxProductMap.put("3467439239657029773", 12992);
        jxProductMap.put("3467439241804447777", 12992);
        jxProductMap.put("3467439241804447882", 12992);
        jxProductMap.put("3467439241804447913", 12992);
        jxProductMap.put("3467439241804513313", 12992);
        jxProductMap.put("3467439241804513320", 12992);
        jxProductMap.put("3467439241804513345", 12992);
        jxProductMap.put("3467439241804513418", 12992);
        jxProductMap.put("3467439241804578856", 12992);
        jxProductMap.put("3467439241804578881", 12992);
        jxProductMap.put("3467439241804578954", 12992);
        jxProductMap.put("3467439241804578957", 12992);
        jxProductMap.put("3467439241804644493", 12992);
        jxProductMap.put("3467439243951997097", 12992);
        jxProductMap.put("3467439243951997150", 12992);
        jxProductMap.put("3467439243952128138", 12992);
        jxProductMap.put("3467439243952193576", 12992);
        jxProductMap.put("3467439243952193674", 12992);
        jxProductMap.put("3467439246099742753", 12992);
        jxProductMap.put("3467439246099742965", 12992);
        jxProductMap.put("3467439248247423009", 12992);
        jxProductMap.put("3467439248247423145", 12992);
        jxProductMap.put("3467439250394644702", 12992);
        jxProductMap.put("3467439250395168909", 12992);
        jxProductMap.put("3474525111061643276", 12995);
        jxProductMap.put("3474525111061643462", 12995);
        jxProductMap.put("3474525111061643466", 12995);
        jxProductMap.put("3474525111061643475", 12995);
        jxProductMap.put("3474525111061643503", 12995);
        jxProductMap.put("3474525111061708812", 12995);
        jxProductMap.put("3474525111061708998", 12995);
        jxProductMap.put("3474525111061709048", 12995);
        jxProductMap.put("3474525111061774534", 12995);
        jxProductMap.put("3474525111061774584", 12995);
        jxProductMap.put("3474525111061840070", 12995);
        jxProductMap.put("3474525111061905606", 12995);
        jxProductMap.put("3474525113209127152", 12995);
        jxProductMap.put("3474525113209192650", 12995);
        jxProductMap.put("3474525113209192659", 12995);
        jxProductMap.put("3474525113209192678", 12995);
        jxProductMap.put("3474525113209192687", 12995);
        jxProductMap.put("3474525113209192688", 12995);
        jxProductMap.put("3474525113209257996", 12995);
        jxProductMap.put("3474525113209258186", 12995);
        jxProductMap.put("3474525113209258195", 12995);
        jxProductMap.put("3474525113209258214", 12995);
        jxProductMap.put("3474525113209258223", 12995);
        jxProductMap.put("3474525113209258224", 12995);
        jxProductMap.put("3474525113209323532", 12995);
        jxProductMap.put("3474525113209323722", 12995);
        jxProductMap.put("3474525113209323731", 12995);
        jxProductMap.put("3474525113209323750", 12995);
        jxProductMap.put("3474525113209323759", 12995);
        jxProductMap.put("3474525113209323760", 12995);
        jxProductMap.put("3474525113209323768", 12995);
        jxProductMap.put("3474525113209389068", 12995);
        jxProductMap.put("3474525113209389258", 12995);
        jxProductMap.put("3474525113209389267", 12995);
        jxProductMap.put("3474525113209389295", 12995);
        jxProductMap.put("3474525113209389296", 12995);
        jxProductMap.put("3474525113209389304", 12995);
        jxProductMap.put("3474525113209454604", 12995);
        jxProductMap.put("3474525113209454790", 12995);
        jxProductMap.put("3474525113209454794", 12995);
        jxProductMap.put("3474525113209454831", 12995);
        jxProductMap.put("3474525113209454832", 12995);
        jxProductMap.put("3474525113209454840", 12995);
        jxProductMap.put("3474525113209520140", 12995);
        jxProductMap.put("3474525113209520326", 12995);
        jxProductMap.put("3474525113209520367", 12995);
        jxProductMap.put("3474525113209520376", 12995);
        jxProductMap.put("3474525113209585676", 12995);
        jxProductMap.put("3474525113209585903", 12995);
        jxProductMap.put("3474525113209585912", 12995);
        jxProductMap.put("3474525113209651439", 12995);
        jxProductMap.put("3474525113209651448", 12995);
        jxProductMap.put("3474525113209716975", 12995);
        jxProductMap.put("3474525113209716984", 12995);
        jxProductMap.put("3474525184076349670", 10153);
        jxProductMap.put("3474525184076415187", 12994);
        jxProductMap.put("3474525184076415206", 10153);
        jxProductMap.put("3474525184076480714", 10153);
        jxProductMap.put("3474525184076480723", 12994);
        jxProductMap.put("3474525184076480752", 10153);
        jxProductMap.put("3474525184076546246", 12994);
        jxProductMap.put("3474525184076546250", 10153);
        jxProductMap.put("3474525184076546259", 12994);
        jxProductMap.put("3474525184076611596", 12994);
        jxProductMap.put("3474525184076611782", 12994);
        jxProductMap.put("3474525184076611786", 12994);
        jxProductMap.put("3474525184076677132", 10153);
        jxProductMap.put("3474525184076677318", 10153);
        jxProductMap.put("3474525184076742668", 12994);
        jxProductMap.put("3474525184076742854", 10153);
        jxProductMap.put("3474525184076742895", 10153);
        jxProductMap.put("3474525184076808204", 12994);
        jxProductMap.put("3474525184076808431", 12994);
        jxProductMap.put("3474525184076873740", 10153);
        jxProductMap.put("3474525186223964390", 10153);
        jxProductMap.put("3474525186224029926", 10153);
        jxProductMap.put("3474525186224029936", 12994);
        jxProductMap.put("3474525186224095443", 12994);
        jxProductMap.put("3474525186224095462", 10153);
        jxProductMap.put("3474525186224095472", 10153);
        jxProductMap.put("3474525186224160970", 10153);
        jxProductMap.put("3474525186224160979", 10153);
        jxProductMap.put("3474525186224160998", 12994);
        jxProductMap.put("3474525186224161008", 10153);
        jxProductMap.put("3474525186224226515", 10153);
        jxProductMap.put("3474525186224226534", 10153);
        jxProductMap.put("3474525186224226544", 12994);
        jxProductMap.put("3474525186224226552", 12994);
        jxProductMap.put("3474525186224292038", 12994);
        jxProductMap.put("3474525186224292051", 12994);
        jxProductMap.put("3474525186224292080", 12994);
        jxProductMap.put("3474525186224292088", 12994);
        jxProductMap.put("3474525186224357574", 12994);
        jxProductMap.put("3474525186224357587", 10153);
        jxProductMap.put("3474525186224357615", 12994);
        jxProductMap.put("3474525186224357616", 12994);
        jxProductMap.put("3474525186224357624", 10153);
        jxProductMap.put("3474525186224422924", 10153);
        jxProductMap.put("3474525186224423110", 10153);
        jxProductMap.put("3474525186224423151", 12994);
        jxProductMap.put("3474525186224423152", 12994);
        jxProductMap.put("3474525186224423160", 10153);
        jxProductMap.put("3474525186224488460", 12994);
        jxProductMap.put("3474525186224488687", 10153);
        jxProductMap.put("3474525186224488688", 10153);
        jxProductMap.put("3474525186224488696", 12994);
        jxProductMap.put("3474525186224553996", 12994);
        jxProductMap.put("3474525186224554223", 10153);
        jxProductMap.put("3474525186224554232", 10153);
        jxProductMap.put("3474525186224619532", 12994);
        jxProductMap.put("3474525244206285002", 12993);
        jxProductMap.put("3474525244206350538", 12993);
        jxProductMap.put("3474525244206350566", 12993);
        jxProductMap.put("3474525244206416102", 12993);
        jxProductMap.put("3474525244206481619", 12993);
        jxProductMap.put("3474525244206547142", 12993);
        jxProductMap.put("3474525244206547155", 12993);
        jxProductMap.put("3474525244206612678", 12993);
        jxProductMap.put("3474525244206612720", 12993);
        jxProductMap.put("3474525244206678255", 12993);
        jxProductMap.put("3474525244206678256", 12993);
        jxProductMap.put("3474525244206678264", 12993);
        jxProductMap.put("3474525244206743564", 12993);
        jxProductMap.put("3474525244206743791", 12993);
        jxProductMap.put("3474525244206743792", 12993);
        jxProductMap.put("3474525244206743800", 12993);
        jxProductMap.put("3474525244206809100", 12993);
        jxProductMap.put("3474525244206809327", 12993);
        jxProductMap.put("3474525244206809336", 12993);
        jxProductMap.put("3474525244206874636", 12993);
        jxProductMap.put("3474525244206874872", 12993);
        jxProductMap.put("3474525244206940172", 12993);
        jxProductMap.put("3474525244206940408", 12993);
        jxProductMap.put("3474525244207005708", 12993);
        jxProductMap.put("3474525244207005944", 12993);
        jxProductMap.put("3474525244207071244", 12993);
        jxProductMap.put("3474525246353899722", 12993);
        jxProductMap.put("3474525246353965286", 12993);
        jxProductMap.put("3474525246354030822", 12993);
        jxProductMap.put("3474525246354096339", 12993);
        jxProductMap.put("3474525246354096358", 12993);
        jxProductMap.put("3474525246354161862", 12993);
        jxProductMap.put("3474525246354161875", 12993);
        jxProductMap.put("3474525246354161894", 12993);
        jxProductMap.put("3474525246354227398", 12993);
        jxProductMap.put("3474525246354227411", 12993);
        jxProductMap.put("3474525246354227430", 12993);
        jxProductMap.put("3474525246354292934", 12993);
        jxProductMap.put("3474525246354292947", 12993);
        jxProductMap.put("3474525246354292966", 12993);
        jxProductMap.put("3474525246354292976", 12993);
        jxProductMap.put("3474525246354358470", 12993);
        jxProductMap.put("3474525246354358483", 12993);
        jxProductMap.put("3474525246354358502", 12993);
        jxProductMap.put("3474525246354358511", 12993);
        jxProductMap.put("3474525246354358512", 12993);
        jxProductMap.put("3474525246354424006", 12993);
        jxProductMap.put("3474525246354424019", 12993);
        jxProductMap.put("3474525246354424047", 12993);
        jxProductMap.put("3474525246354424048", 12993);
        jxProductMap.put("3474525246354489542", 12993);
        jxProductMap.put("3474525246354489583", 12993);
        jxProductMap.put("3474525246354555119", 12993);
        jxProductMap.put("3474525246354555128", 12993);
        jxProductMap.put("3474525246354620428", 12993);
        jxProductMap.put("3474525246354620664", 12993);
        jxProductMap.put("3474525295746089162", 12992);
        jxProductMap.put("3474525295746154698", 12992);
        jxProductMap.put("3474525295746220234", 12992);
        jxProductMap.put("3474525295746285770", 12992);
        jxProductMap.put("3474525295746351306", 12992);
        jxProductMap.put("3474525295746416842", 12992);
        jxProductMap.put("3474525295746482378", 12992);
        jxProductMap.put("3474525295746547914", 12992);
        jxProductMap.put("3474525295746547942", 12992);
        jxProductMap.put("3474525295746613450", 12992);
        jxProductMap.put("3474525295746613459", 12992);
        jxProductMap.put("3474525295746613478", 12992);
        jxProductMap.put("3474525295746613488", 12992);
        jxProductMap.put("3474525295746678982", 12992);
        jxProductMap.put("3474525295746678995", 12992);
        jxProductMap.put("3474525295746679014", 12992);
        jxProductMap.put("3474525295746679024", 12992);
        jxProductMap.put("3474525295746744518", 12992);
        jxProductMap.put("3474525295746744531", 12992);
        jxProductMap.put("3474525295746744550", 12992);
        jxProductMap.put("3474525295746744559", 12992);
        jxProductMap.put("3474525295746744560", 12992);
        jxProductMap.put("3474525295746809868", 12992);
        jxProductMap.put("3474525295746810054", 12992);
        jxProductMap.put("3474525295746810067", 12992);
        jxProductMap.put("3474525295746810086", 12992);
        jxProductMap.put("3474525295746810095", 12992);
        jxProductMap.put("3474525295746810096", 12992);
        jxProductMap.put("3474525295746810104", 12992);
        jxProductMap.put("3474525295746875404", 12992);
        jxProductMap.put("3474525295746875590", 12992);
        jxProductMap.put("3474525295746875603", 12992);
        jxProductMap.put("3474525295746875631", 12992);
        jxProductMap.put("3474525295746875632", 12992);
        jxProductMap.put("3474525295746875640", 12992);
        jxProductMap.put("3474525295746940940", 12992);
        jxProductMap.put("3474525295746941126", 12992);
        jxProductMap.put("3474525295746941168", 12992);
        jxProductMap.put("3474525295746941176", 12992);
        jxProductMap.put("3474525295747006476", 12992);
        jxProductMap.put("3474525295747006662", 12992);
        jxProductMap.put("3474525295747006704", 12992);
        jxProductMap.put("3474525295747006712", 12992);
        jxProductMap.put("3474525295747072012", 12992);
        jxProductMap.put("3474525295747072198", 12992);
        jxProductMap.put("3474525295747072240", 12992);
        jxProductMap.put("3474525295747072248", 12992);
        jxProductMap.put("3474525295747137548", 12992);
        jxProductMap.put("3474525295747137734", 12992);
        jxProductMap.put("3474525295747137776", 12992);
        jxProductMap.put("3474525295747137784", 12992);
        jxProductMap.put("3474525295747203084", 12992);
        jxProductMap.put("3474525295747203270", 12992);
        jxProductMap.put("3474525295747203312", 12992);
        jxProductMap.put("3474525295747203320", 12992);
        jxProductMap.put("3474525295747268620", 12992);
        jxProductMap.put("3474525338696351946", 12991);
        jxProductMap.put("3474525338696417482", 12991);
        jxProductMap.put("3474525338696483018", 12991);
        jxProductMap.put("3474525338696548582", 12991);
        jxProductMap.put("3474525338696614099", 12991);
        jxProductMap.put("3474525338696614127", 12991);
        jxProductMap.put("3474525338696941766", 12991);
        jxProductMap.put("3474525338696941808", 12991);
        jxProductMap.put("3474525338696941816", 12991);
        jxProductMap.put("3474525338697007116", 12991);
        jxProductMap.put("3474525338697007302", 12991);
        jxProductMap.put("3474525338697007344", 12991);
        jxProductMap.put("3474525338697007352", 12991);
        jxProductMap.put("3474525338697072838", 12991);
        jxProductMap.put("3474525338697072880", 12991);
        jxProductMap.put("3474525338697072888", 12991);
        jxProductMap.put("3474525338697138374", 12991);
        jxProductMap.put("3474525338697138416", 12991);
        jxProductMap.put("3474525338697203952", 12991);
        jxProductMap.put("3474525338697269488", 12991);
        jxProductMap.put("3474525340844032202", 12991);
        jxProductMap.put("3474525340844097738", 12991);
        jxProductMap.put("3474525340844097766", 12991);
        jxProductMap.put("3474525340844163274", 12991);
        jxProductMap.put("3474525340844163283", 12991);
        jxProductMap.put("3474525340844163302", 12991);
        jxProductMap.put("3474525340844163311", 12991);
        jxProductMap.put("3474525340844228810", 12991);
        jxProductMap.put("3474525340844228819", 12991);
        jxProductMap.put("3474525340844228838", 12991);
        jxProductMap.put("3474525340844228847", 12991);
        jxProductMap.put("3474525340844294346", 12991);
        jxProductMap.put("3474525340844294355", 12991);
        jxProductMap.put("3474525340844294374", 12991);
        jxProductMap.put("3474525340844294383", 12991);
        jxProductMap.put("3474525340844359882", 12991);
        jxProductMap.put("3474525340844359910", 12991);
        jxProductMap.put("3474525340844425418", 12991);
        jxProductMap.put("3474525340844425446", 12991);
        jxProductMap.put("3474525340844556300", 12991);
        jxProductMap.put("3474525340844621836", 12991);
        jxProductMap.put("3474525340844622072", 12991);
        jxProductMap.put("3474525340844687372", 12991);
        jxProductMap.put("3474525340844687558", 12991);
        jxProductMap.put("3474525340844687608", 12991);
        jxProductMap.put("3474525340844752908", 12991);
        jxProductMap.put("3474525340844753144", 12991);
        jxProductMap.put("3474525340844818672", 12991);
        jxProductMap.put("3474525340844818680", 12991);
        jxProductMap.put("3474525340844884208", 12991);
        jxProductMap.put("3474525340844949744", 12991);
        jxProductMap.put("3474525340845015280", 12991);
        jxProductMap.put("3474525340845080816", 12991);
        jxProductMap.put("3474525340845146352", 12991);
        jxProductMap.put("3474525340845211888", 12991);
        jxProductMap.put("3474525340845277424", 12991);

        // 添加开锁产品映射
        jxProductMap = MAP_PRODUCT_JX_UNLOCK;
        jxProductMap.put("3412567862771974310", 10239); // 普通防盗门开锁（反锁）
        jxProductMap.put("3412567972293705894", 10233); // 室内门开锁
        jxProductMap.put("3432402930123210859", 10233); // 室内门开锁
        jxProductMap.put("3448213080549556390", 10222); // 更换锁芯（A级）
        jxProductMap.put("3448213080549490939", 10223); // 更换锁芯（B级）
        jxProductMap.put("3448213035452268795", 10239); // 普通防盗门开锁（反锁）
        jxProductMap.put("3448213035452334246", 10233); // 室内门开锁
        jxProductMap.put("3451148795922940117", 10230); // 更换把手（普通把手）
        jxProductMap.put("3451148866789900317", 10227); // 更换锁体（普通五舌锁体）
        jxProductMap.put("3451148795924774970", 10230);
        jxProductMap.put("3451148795924971549", 10230);
        jxProductMap.put("3451148795925037085", 10230);
        jxProductMap.put("3451148795925102621", 10230);
        jxProductMap.put("3451148795925626954", 10230);
        jxProductMap.put("3451148798072717341", 10230);
        jxProductMap.put("3451148798073176070", 10230);
        jxProductMap.put("3451148798073176230", 10230);
        jxProductMap.put("3451148798073241766", 10230);
        jxProductMap.put("3451148798073241851", 10230);
        jxProductMap.put("3451148798073307349", 10230);
        jxProductMap.put("3451148800219938874", 10230);
        jxProductMap.put("3451148800220135482", 10230);
        jxProductMap.put("3451148800220332061", 10230);
        jxProductMap.put("3451148800220791035", 10230);
        jxProductMap.put("3451148800220856486", 10230);
        jxProductMap.put("3451148800220921867", 10230);
        jxProductMap.put("3451148800221118475", 10230);
        jxProductMap.put("3451148802367750202", 10230);
        jxProductMap.put("3451148802368602278", 10230);
        jxProductMap.put("3451148802368667899", 10230);
        jxProductMap.put("3451148804515495994", 10230);
        jxProductMap.put("3451148804516085834", 10230);
        jxProductMap.put("3451148806664093862", 10230);
        jxProductMap.put("3451148808811708490", 10230);
        jxProductMap.put("3451148808812494859", 10230);
        jxProductMap.put("3451148810960044043", 10230);
        jxProductMap.put("3432402930123210763", 10239);
        jxProductMap.put("3432402930123210817", 10239);
        jxProductMap.put("3432402930123210853", 10239);
        jxProductMap.put("3432402930123210893", 10239);
        jxProductMap.put("3432402930123210970", 10239);
        jxProductMap.put("3432402930123276299", 10239);
        jxProductMap.put("3432402930123276353", 10239);
        jxProductMap.put("3432402930123276429", 10239);
        jxProductMap.put("3432402930123276488", 10239);
        jxProductMap.put("3432402930123276506", 10239);
        jxProductMap.put("3432402930123341889", 10239);
        jxProductMap.put("3432402930123341925", 10239);
        jxProductMap.put("3432402930123341965", 10239);
        jxProductMap.put("3432402930123407461", 10239);
        jxProductMap.put("3432402930123472961", 10239);
        jxProductMap.put("3432402930123472997", 10239);
        jxProductMap.put("3432402932270694483", 10239);
        jxProductMap.put("3432402932270760019", 10239);
        jxProductMap.put("3432402932270825690", 10239);
        jxProductMap.put("3432402932270891091", 10239);
        jxProductMap.put("3432402932270956627", 10239);
        jxProductMap.put("3432402932270956744", 10239);
        jxProductMap.put("3432402932271087717", 10239);
        jxProductMap.put("3432402934418309227", 10239);
        jxProductMap.put("3432402934418636811", 10239);
        jxProductMap.put("3432402934418899027", 10239);
        jxProductMap.put("3448213035456659485", 10233);
        jxProductMap.put("3448213035456921813", 10239);
        jxProductMap.put("3448213080553357323", 10223);
        jxProductMap.put("3448213080553685050", 10223);
        jxProductMap.put("3448213080554143957", 10222);
        jxProductMap.put("3448213080554209493", 10223);
        jxProductMap.put("3448213142830448651", 10893);
        jxProductMap.put("3448213142831104074", 10893);
        jxProductMap.put("3448213142831169610", 10893);
        jxProductMap.put("3451148795924709434", 10230);
        jxProductMap.put("3451148795925561350", 10230);
        jxProductMap.put("3451148795925561418", 10230);
        jxProductMap.put("3451148795925627046", 10230);
        jxProductMap.put("3451148795925758165", 10230);
        jxProductMap.put("3451148798072651805", 10230);
        jxProductMap.put("3451148798073176138", 10230);
        jxProductMap.put("3451148798073176315", 10230);
        jxProductMap.put("3451148798073241674", 10230);
        jxProductMap.put("3451148798073307147", 10230);
        jxProductMap.put("3451148798073307302", 10230);
        jxProductMap.put("3451148798073372683", 10230);
        jxProductMap.put("3451148800219873338", 10230);
        jxProductMap.put("3451148800220004410", 10230);
        jxProductMap.put("3451148800220790858", 10230);
        jxProductMap.put("3451148800220856394", 10230);
        jxProductMap.put("3451148800220922069", 10230);
        jxProductMap.put("3451148800221052939", 10230);
        jxProductMap.put("3451148802367684666", 10230);
        jxProductMap.put("3451148802367815738", 10230);
        jxProductMap.put("3451148802368471114", 10230);
        jxProductMap.put("3451148802369126411", 10230);
        jxProductMap.put("3451148804515758109", 10230);
        jxProductMap.put("3451148806663503901", 10230);
        jxProductMap.put("3451148808811380794", 10230);
        jxProductMap.put("3451148808812232715", 10230);
        jxProductMap.put("3451148808812363787", 10230);
        jxProductMap.put("3451148866794225693", 10227);
        jxProductMap.put("3451148866794291229", 10227);
        jxProductMap.put("3451148866794356765", 10227);
        jxProductMap.put("3451148866794618938", 10227);
        jxProductMap.put("3451148866794881030", 10227);
        jxProductMap.put("3451148866795143334", 10227);
        jxProductMap.put("3451148866795339787", 10227);
        jxProductMap.put("3451148866795405323", 10227);
        jxProductMap.put("3451148866795405386", 10227);
        jxProductMap.put("3451148866795864315", 10227);
        jxProductMap.put("3451148866795929851", 10227);
        jxProductMap.put("3451148868941905949", 10227);
        jxProductMap.put("3451148868941971485", 10227);
        jxProductMap.put("3451148868942037021", 10227);
        jxProductMap.put("3451148868942168122", 10227);
        jxProductMap.put("3451148868942430214", 10227);
        jxProductMap.put("3451148868942495750", 10227);
        jxProductMap.put("3451148868942758054", 10227);
        jxProductMap.put("3451148868942823590", 10227);
        jxProductMap.put("3451148868942889126", 10227);
        jxProductMap.put("3451148868942954507", 10227);
        jxProductMap.put("3451148868942954570", 10227);
        jxProductMap.put("3451148868943020043", 10227);
        jxProductMap.put("3451148871089651741", 10227);
        jxProductMap.put("3451148871089782842", 10227);
        jxProductMap.put("3451148871089848378", 10227);
        jxProductMap.put("3451148871089913914", 10227);
        jxProductMap.put("3451148871089979450", 10227);
        jxProductMap.put("3451148871090044934", 10227);
        jxProductMap.put("3451148871090110470", 10227);
        jxProductMap.put("3451148871090176006", 10227);
        jxProductMap.put("3451148871090307078", 10227);
        jxProductMap.put("3451148871090438310", 10227);
        jxProductMap.put("3451148871090569227", 10227);
        jxProductMap.put("3451148871090569290", 10227);
        jxProductMap.put("3451148871090569382", 10227);
        jxProductMap.put("3451148871090634763", 10227);
        jxProductMap.put("3451148871090634826", 10227);
        jxProductMap.put("3451148871090634918", 10227);
        jxProductMap.put("3451148871090700299", 10227);
        jxProductMap.put("3451148871090700362", 10227);
        jxProductMap.put("3451148871090962683", 10227);
        jxProductMap.put("3451148871091028219", 10227);
        jxProductMap.put("3451148871091093755", 10227);
        jxProductMap.put("3451148873237397533", 10227);
        jxProductMap.put("3451148873237856262", 10227);
        jxProductMap.put("3451148873238315019", 10227);
        jxProductMap.put("3451148873238315082", 10227);
        jxProductMap.put("3451148873238380555", 10227);
        jxProductMap.put("3451148873238380618", 10227);
        jxProductMap.put("3451148873238446091", 10227);
        jxProductMap.put("3451148873238511690", 10227);
        jxProductMap.put("3451148873238642939", 10227);
        jxProductMap.put("3451148873238905083", 10227);
        jxProductMap.put("3451148875384291541", 10227);
        jxProductMap.put("3451148875385143325", 10227);
        jxProductMap.put("3451148875385274426", 10227);
        jxProductMap.put("3451148875385929894", 10227);
        jxProductMap.put("3451148875386060811", 10227);
        jxProductMap.put("3451148875386126410", 10227);
        jxProductMap.put("3451148875386191946", 10227);
        jxProductMap.put("3451148875386257482", 10227);
        jxProductMap.put("3451148875386650875", 10227);
        jxProductMap.put("3451148877533151238", 10227);
        jxProductMap.put("3451148877533872139", 10227);
        jxProductMap.put("3451148877533937675", 10227);
        jxProductMap.put("3451148877534003211", 10227);
        jxProductMap.put("3451148877534134346", 10227);
        jxProductMap.put("3451148877534199882", 10227);
        jxProductMap.put("3451148881828380730", 10227);
        jxProductMap.put("3451148881829757002", 10227);
        jxProductMap.put("3451148881829822538", 10227);
        jxProductMap.put("3451148886123479069", 10227);
        jxProductMap.put("3451148886124986379", 10227);
        jxProductMap.put("3451148886125052070", 10227);
        jxProductMap.put("3451148886125314214", 10227);
        jxProductMap.put("3451148888269914325", 10227);
        jxProductMap.put("3451148888271618106", 10227);
        jxProductMap.put("3451148888272666635", 10227);
        jxProductMap.put("3451148888272732171", 10227);
        jxProductMap.put("3451148888272863398", 10227);
        jxProductMap.put("3452221577821749311", 10239);
        jxProductMap.put("3452221577821749331", 10233);
        jxProductMap.put("3452221577821749349", 10233);
        jxProductMap.put("3452221577821749355", 10239);
        jxProductMap.put("3452221577821749466", 10239);
        jxProductMap.put("3452221577821814885", 10239);
        jxProductMap.put("3452221577821814891", 10233);
        jxProductMap.put("3452221577821814965", 10239);
        jxProductMap.put("3452221577821880421", 10233);
        jxProductMap.put("3452221577821945957", 10239);
        jxProductMap.put("3452221579969233024", 10233);
        jxProductMap.put("3452221579969233096", 10239);
        jxProductMap.put("3452221579969298495", 10233);
        jxProductMap.put("3452221579969298515", 10233);
        jxProductMap.put("3452221579969298560", 10233);
        jxProductMap.put("3452221579969364031", 10239);
        jxProductMap.put("3452221579969364051", 10233);
        jxProductMap.put("3452221579969364096", 10239);
        jxProductMap.put("3452221579969364149", 10233);
        jxProductMap.put("3452221579969429567", 10239);
        jxProductMap.put("3452221579969429611", 10239);
        jxProductMap.put("3452221579969429632", 10233);
        jxProductMap.put("3452221579969429685", 10233);
        jxProductMap.put("3452221579969495141", 10239);
        jxProductMap.put("3452221579969560677", 10239);
        jxProductMap.put("3452221579969626213", 10233);
        jxProductMap.put("3452221582116782280", 10239);
        jxProductMap.put("3452221582116913235", 10233);
        jxProductMap.put("3452221582116913370", 10233);
        jxProductMap.put("3452221582116978771", 10233);
        jxProductMap.put("3452221582116978816", 10239);
        jxProductMap.put("3452221582116978906", 10233);
        jxProductMap.put("3452221582117044352", 10233);
        jxProductMap.put("3452221582117044424", 10239);
        jxProductMap.put("3452221582117240933", 10239);
        jxProductMap.put("3452221582117306469", 10239);
        jxProductMap.put("3452221582117372005", 10239);
        jxProductMap.put("3452221584264593608", 10239);
        jxProductMap.put("3452221584264659007", 10233);
        jxProductMap.put("3452221584264790144", 10233);
        jxProductMap.put("3452221584264921189", 10233);
        jxProductMap.put("3452221584265117803", 10239);
        jxProductMap.put("3452221586412273747", 10233);
        jxProductMap.put("3452221586412666987", 10239);
        jxProductMap.put("3452221588559888447", 10233);
        jxProductMap.put("3452221588560412773", 10239);
        jxProductMap.put("3452221590707830965", 10233);
        jxProductMap.put("3452221590707831002", 10239);
        jxProductMap.put("3452221592855314515", 10239);
        jxProductMap.put("3452221592855380051", 10233);
        jxProductMap.put("3452221592855445632", 10233);
        jxProductMap.put("3452221592855511168", 10239);
        jxProductMap.put("3452225168416571520", 10893);
        jxProductMap.put("3452225168416637056", 10893);
        jxProductMap.put("3452225168416702547", 10893);
        jxProductMap.put("3452225168416768200", 10893);
        jxProductMap.put("3452225168416833736", 10893);
        jxProductMap.put("3452225168416964709", 10893);
        jxProductMap.put("3452225168417030207", 10893);
        jxProductMap.put("3452225168417030245", 10893);
        jxProductMap.put("3452225168417030325", 10893);
        jxProductMap.put("3452225168417095787", 10893);
        jxProductMap.put("3452225168417161434", 10893);
        jxProductMap.put("3452225168417226970", 10893);
        jxProductMap.put("3452225168417292506", 10893);
        jxProductMap.put("3452225170564186240", 10893);
        jxProductMap.put("3452225170564251731", 10893);
        jxProductMap.put("3452225170564317312", 10893);
        jxProductMap.put("3452225170564382848", 10893);
        jxProductMap.put("3452225170564382920", 10893);
        jxProductMap.put("3452225170564448384", 10893);
        jxProductMap.put("3452225170564579429", 10893);
        jxProductMap.put("3452225170564644965", 10893);
        jxProductMap.put("3452225170564644971", 10893);
        jxProductMap.put("3452225170564710507", 10893);
        jxProductMap.put("3452225170564710581", 10893);
        jxProductMap.put("3452225170564841653", 10893);
        jxProductMap.put("3452225170564841690", 10893);
        jxProductMap.put("3452225170564907189", 10893);
        jxProductMap.put("3452225170564907226", 10893);
        jxProductMap.put("3452225170564972762", 10893);
        jxProductMap.put("3452225172711800915", 10893);
        jxProductMap.put("3452225172711866451", 10893);
        jxProductMap.put("3452225172711932104", 10893);
        jxProductMap.put("3452225172711997568", 10893);
        jxProductMap.put("3452225172711997640", 10893);
        jxProductMap.put("3452225172712063039", 10893);
        jxProductMap.put("3452225172712063176", 10893);
        jxProductMap.put("3452225172712128575", 10893);
        jxProductMap.put("3452225172712128712", 10893);
        jxProductMap.put("3452225172712194149", 10893);
        jxProductMap.put("3452225172712259685", 10893);
        jxProductMap.put("3452225172712325227", 10893);
        jxProductMap.put("3452225172712390763", 10893);
        jxProductMap.put("3452225172712456373", 10893);
        jxProductMap.put("3452225172712521909", 10893);
        jxProductMap.put("3452225172712587445", 10893);
        jxProductMap.put("3452225174859612243", 10893);
        jxProductMap.put("3452225174859612288", 10893);
        jxProductMap.put("3452225174859677824", 10893);
        jxProductMap.put("3452225174859743360", 10893);
        jxProductMap.put("3452225174859808896", 10893);
        jxProductMap.put("3452225174859874432", 10893);
        jxProductMap.put("3452225174860005576", 10893);
        jxProductMap.put("3452225174860136555", 10893);
        jxProductMap.put("3452225174860267701", 10893);
        jxProductMap.put("3452225174860267738", 10893);
        jxProductMap.put("3452225174860333274", 10893);
        jxProductMap.put("3452225174860398810", 10893);
        jxProductMap.put("3452225177007358015", 10893);
        jxProductMap.put("3452225177007620197", 10893);
        jxProductMap.put("3452225177007947994", 10893);
        jxProductMap.put("3452225179154972755", 10893);
        jxProductMap.put("3452225179155038291", 10893);
        jxProductMap.put("3452225179155300415", 10893);
        jxProductMap.put("3452225179155300480", 10893);
        jxProductMap.put("3452225179155497067", 10893);
        jxProductMap.put("3452225179155759322", 10893);
        jxProductMap.put("3452225183450398803", 10893);
        jxProductMap.put("3452225183450726528", 10893);
        jxProductMap.put("3452225183451250869", 10893);
        jxProductMap.put("3452225185598406856", 10893);
        jxProductMap.put("3452225185599062197", 10893);
        jxProductMap.put("3452225187746021576", 10893);
        jxProductMap.put("3452225187746086995", 10893);
        jxProductMap.put("3452225187746087112", 10893);
        jxProductMap.put("3452225187746218112", 10893);
        jxProductMap.put("3452225187746611307", 10893);
        jxProductMap.put("3452225187746676843", 10893);
        jxProductMap.put("3452225187746939098", 10893);
        jxProductMap.put("3452226416108306515", 10222);
        jxProductMap.put("3452226416108568704", 10223);
        jxProductMap.put("3452226416108699711", 10223);
        jxProductMap.put("3452226416108962010", 10222);
        jxProductMap.put("3452226416109027546", 10223);
        jxProductMap.put("3452226416109224117", 10222);
        jxProductMap.put("3452226418255134821", 10223);
        jxProductMap.put("3452226418255200357", 10223);
        jxProductMap.put("3452226418255921235", 10222);
        jxProductMap.put("3452226418255986771", 10222);
        jxProductMap.put("3452226418256117888", 10223);
        jxProductMap.put("3452226418256183424", 10223);
        jxProductMap.put("3452226418256248895", 10223);
        jxProductMap.put("3452226418256248960", 10223);
        jxProductMap.put("3452226418256314431", 10223);
        jxProductMap.put("3452226418256314496", 10223);
        jxProductMap.put("3452226418256314568", 10223);
        jxProductMap.put("3452226418256380104", 10223);
        jxProductMap.put("3452226418256576730", 10223);
        jxProductMap.put("3452226418256642266", 10223);
        jxProductMap.put("3452226418256773227", 10222);
        jxProductMap.put("3452226418256773301", 10223);
        jxProductMap.put("3452226418256838763", 10223);
        jxProductMap.put("3452226418256904299", 10223);
        jxProductMap.put("3452226418256969835", 10223);
        jxProductMap.put("3452226420402880613", 10223);
        jxProductMap.put("3452226420402946149", 10223);
        jxProductMap.put("3452226420403011685", 10223);
        jxProductMap.put("3452226420403077221", 10223);
        jxProductMap.put("3452226420403535955", 10223);
        jxProductMap.put("3452226420403863615", 10222);
        jxProductMap.put("3452226420403863680", 10223);
        jxProductMap.put("3452226420403929151", 10222);
        jxProductMap.put("3452226420403929216", 10223);
        jxProductMap.put("3452226420403929288", 10222);
        jxProductMap.put("3452226420403994752", 10223);
        jxProductMap.put("3452226420403994824", 10223);
        jxProductMap.put("3452226420404060288", 10223);
        jxProductMap.put("3452226420404060360", 10222);
        jxProductMap.put("3452226420404125759", 10223);
        jxProductMap.put("3452226420404125824", 10223);
        jxProductMap.put("3452226420404191450", 10223);
        jxProductMap.put("3452226420404388021", 10223);
        jxProductMap.put("3452226420404453557", 10222);
        jxProductMap.put("3452226420404519019", 10223);
        jxProductMap.put("3452226420404519093", 10222);
        jxProductMap.put("3452226420404584629", 10223);
        jxProductMap.put("3452226420404650091", 10222);
        jxProductMap.put("3452226420404650165", 10223);
        jxProductMap.put("3452226420404781237", 10223);
        jxProductMap.put("3452226422550626405", 10223);
        jxProductMap.put("3452226422550691941", 10223);
        jxProductMap.put("3452226422550757477", 10223);
        jxProductMap.put("3452226422550823013", 10223);
        jxProductMap.put("3452226422551216211", 10222);
        jxProductMap.put("3452226422551281747", 10223);
        jxProductMap.put("3452226422551675008", 10223);
        jxProductMap.put("3452226422551740479", 10223);
        jxProductMap.put("3452226422551740544", 10223);
        jxProductMap.put("3452226422551740634", 10222);
        jxProductMap.put("3452226422551806080", 10223);
        jxProductMap.put("3452226422551806170", 10222);
        jxProductMap.put("3452226422551871551", 10223);
        jxProductMap.put("3452226422551871616", 10222);
        jxProductMap.put("3452226422551871706", 10222);
        jxProductMap.put("3452226422551937087", 10223);
        jxProductMap.put("3452226422552264811", 10223);
        jxProductMap.put("3452226422552330347", 10223);
        jxProductMap.put("3452226422552330421", 10223);
        jxProductMap.put("3452226422552395957", 10222);
        jxProductMap.put("3452226422552461493", 10223);
        jxProductMap.put("3452226422552527029", 10223);
        jxProductMap.put("3452226422552658101", 10223);
        jxProductMap.put("3452226424698437733", 10223);
        jxProductMap.put("3452226424698503269", 10223);
        jxProductMap.put("3452226424698830931", 10223);
        jxProductMap.put("3452226424698896467", 10223);
        jxProductMap.put("3452226424698962003", 10223);
        jxProductMap.put("3452226424699093192", 10223);
        jxProductMap.put("3452226424699158728", 10223);
        jxProductMap.put("3452226424699224264", 10222);
        jxProductMap.put("3452226424699289800", 10223);
        jxProductMap.put("3452226424699420800", 10222);
        jxProductMap.put("3452226424699420890", 10223);
        jxProductMap.put("3452226424699486271", 10223);
        jxProductMap.put("3452226424699486426", 10222);
        jxProductMap.put("3452226424699551872", 10223);
        jxProductMap.put("3452226424699617343", 10223);
        jxProductMap.put("3452226424699617408", 10223);
        jxProductMap.put("3452226424699682879", 10223);
        jxProductMap.put("3452226424699945067", 10223);
        jxProductMap.put("3452226424700076139", 10222);
        jxProductMap.put("3452226424700272821", 10222);
        jxProductMap.put("3452226424700338357", 10223);
        jxProductMap.put("3452226424700403893", 10223);
        jxProductMap.put("3452226424700469429", 10223);
        jxProductMap.put("3452226426846117989", 10222);
        jxProductMap.put("3452226426846576723", 10223);
        jxProductMap.put("3452226426846838984", 10223);
        jxProductMap.put("3452226426846904520", 10223);
        jxProductMap.put("3452226426847035610", 10222);
        jxProductMap.put("3452226426847166592", 10223);
        jxProductMap.put("3452226426847625323", 10223);
        jxProductMap.put("3452226426848018613", 10223);
    }

    /**
     * 啄木鸟产品
     */
    public static class ZmnProduct {
        private int zmnProductId;
        private String cateOne;
        private String cateTwo;
        private String cateThree;

        public int getZmnProductId() {
            return zmnProductId;
        }
        public void setZmnProductId(int zmnProductId) {
            this.zmnProductId = zmnProductId;
        }
        public String getCateOne() {
            return cateOne;
        }
        public void setCateOne(String cateOne) {
            this.cateOne = cateOne;
        }
        public String getCateTwo() {
            return cateTwo;
        }
        public void setCateTwo(String cateTwo) {
            this.cateTwo = cateTwo;
        }
        public String getCateThree() {
            return cateThree;
        }
        public void setCateThree(String cateThree) {
            this.cateThree = cateThree;
        }

        public ZmnProduct(int zmnProductId, String cateOne, String cateTwo, String cateThree) {
            this.zmnProductId = zmnProductId;
            this.cateOne = cateOne;
            this.cateTwo = cateTwo;
            this.cateThree = cateThree;
        }
    }

    /**
     * 私有构造器，禁止外部实例化
     */
    private Tc58Mapper() {}
}
